1. Field
The present disclosure relates to a robot control system and a method for planning a robot driving path, and more particularly, to a robot control system for planning a driving path of a robot so that the robot does not collide with an obstacle and a method for planning a robot driving path.
2. Description of the Related Art
Recently, in the robot industry fields, various robot technologies are being studied. In particular, a humanoid robot fabricated to have a human-like structure and perform a work like a human is being actively studied and developed.
The humanoid robot includes links and joints for connecting the links and also has a manipulator fabricated by connecting the links and joints to operate substantially similar to arms, hands and legs of a human. The manipulator moves an end-effector to a target point by means of kinetic characteristics of links and joints.
Meanwhile, the motion planning for planning a driving path of a robot finds a path along which the robot may drive from any start point to a designated target point without colliding with an obstacle, in a configuration space where a state of the robot is expressed.
The robot configuration or robot state includes all degree of freedom of the robot such as a location, a shape or the like of the robot. If a base of the manipulator robot is fixed, the entire configuration is defined as an aggregation of angles of all joints. In the planning issue, the target point is generally expressed with a configuration of an end-effector.
Theoretically, a driving path of a robot can be found in the configuration space at every case, but if the degree of freedom of the robot is high, a solution may not be found within a short time.
In this regard, a probability-based random sampling method (Rapidly-exploring Random Tree, RRT) is a stochastic solution method which abandons theoretic completeness and is frequently used for planning a robot driving path since a problem can be solved within a short time.
First, a random robot state is sampled in an entire space and it is checked whether the robot collides with an obstacle in this state. If there is no collision, the state is stored, and connectivity between a newly generated state and a stored state is checked to make a robot state tree structure. As the random sampling process is repeated, the robot state tree is gradually expanded, and if a start point and a target point of a motion planning problem are connected by means of the robot state tree, the process of repeating the sampling is terminated, and a shortest path on the tree is calculated and restored. By doing so, a path having no collision with a given obstacle may be found and utilized for a moving robot and a manipulator robot with more degrees of freedom.
A manipulator robot re-planning method in a variable environment in order to avoid a dynamic obstacle is a sampling-based re-planning method for finding a collision-free path so that an end-effector of a manipulator robot may be moved to a designated target point, in an environment where exact information is not given in advance. In other words, a random sampling-based re-planning (Dynamic RRT, DRRT) in a variable environment performs planning in a variable environment where information of a neighboring obstacle varies due to changes of the environment or uncertainty of a sensor.
When the random sampling-based re-planning is performed in a variable environment, a firstly generated path may become useless due to a newly recognized obstacle. At this time, whenever an existing path becomes useless due to a newly updated obstacle, a random sampling method is performed based on the updated information to generate a new path. When random sampling is performed repeatedly, tree data (for example, a node and an edge) causing collision with the added obstacle may be deleted from the sampling data generated in a previous process by means of validity check, and remaining data may be reused to improve a random sampling rate.
In efficient validity check, the validity of the updated obstacle information and the sampling data may be determined based on whether a robot state corresponding to a node or edge of the robot state tree collides with the presently detected obstacle. It is inefficient to perform validity check for all data whenever the obstacle is updated, and thus sampling data influenced by the updated obstacle may be directly determined by calculating a link function between an obstacle space and a sampling data space. The link function may be constructed by calculating an obstacle space connected whether a node or edge is newly generated during the sampling process.
In the existing technique, the random sampling-based re-planning method is designed for a mobile robot and may be directly applied to a manipulator robot having more degrees of freedom, but this method is not useful since the performance of reusing the sampling data, which is a core technique, is seriously deteriorated.
In addition, in the existing technique, in order to determine reusable sampling data, validity of a node and edge of the robot state tree with respect to the updated obstacle is determined by calculating/using a link function between the obstacle space and the sampling data space. In the existing technique, the link function between the obstacle space and the sampling space is respectively calculated for the node and the edge of the robot state tree.
In this process, particularly when a link function for an edge of the state tree is calculated, very long time is taken for the calculation if the manipulator robot has more degrees of freedom and higher complexity. If the manipulator robot has more degrees of freedom and higher complexity, a space (swept volume) swept by the robot is enlarged just with a small motion, and thus very long time is taken to calculate the link function between the edge of the sampling space and the obstacle space. In addition, since the probability that the edge is not effective with respect to any obstacle increases, the efficiency for the validity check for the edge is seriously deteriorated.
Meanwhile, in case of the manipulator robot, a configuration for moving an end-effector to a target point cannot be defined uniquely, and thus a goal biasing method for improving the performance may not be directly applied when the random sampling is performed.
Meanwhile, a root of the state tree continuously varies due to the repeated random sampling works and the movement of the robot during the overall re-planning process, and the nodes and edges reused are configured based on a previous root. For this reason, the configuration of the robot state tree becomes gradually unbalanced.
An unbalanced tree structure enhances the risk of increasing the number of lower data which are removed together when a node or edge at a higher rank is removed, due to a new obstacle which may occur later, and thus enhances the possibility of elongating a final robot driving path further.